package com.imu.purse.modules.app.form;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import com.imu.common.validator.annotation.Card;
import com.imu.common.validator.group.AddGroup;
import com.imu.common.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 完善用户信息表单
 *
 * @author zzy
 *  sunhongwei@gmail.com
 * @since 3.1.0 2018-03-21
 */
@Data
@ApiModel(value = "完善用户信息表单")
public class UserDetailInfoForm 
{
	
    @ApiModelProperty(value = "昵称")
    @NotBlank(message="昵称不能为空", groups = {AddGroup.class})
    @Length(max = 50, message="昵称信息过长", groups = {AddGroup.class, UpdateGroup.class})
    private String nickName;
    
    @ApiModelProperty(value = "家庭地址")
    @NotBlank(message="地址不能为空", groups = {AddGroup.class})
    @Length(max = 64, message="住址信息过长", groups = {AddGroup.class, UpdateGroup.class})
    private String address;
    
    @ApiModelProperty(value = "真实姓名")
    @NotBlank(message="真实姓名不能为空", groups = {AddGroup.class})
    @Length(max = 50, message="名称信息过长", groups = {AddGroup.class, UpdateGroup.class})
    private String realName;
    
    @ApiModelProperty(value = "身份证号")
    @NotBlank(message="身份证不能为空", groups = {AddGroup.class})
    @Card(message="身份证有误", groups = {AddGroup.class, UpdateGroup.class})
    private String cardNo;

	//银行卡号
    @ApiModelProperty(value = "银行卡号")
    @NotBlank(message="卡号不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @Length(max = 64, message="卡号信息过长", groups = {AddGroup.class, UpdateGroup.class})
	private String bankNo;

	//开户行
    @ApiModelProperty(value = "开户行")
    @NotBlank(message="开户行不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @Length(max = 100, message="开户行信息过长", groups = {AddGroup.class, UpdateGroup.class})
	private String bankName;
	
	//账号
    @ApiModelProperty(value = "账号")
    @NotBlank(message="账号不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @Length(max = 64, message="账号行信息过长", groups = {AddGroup.class, UpdateGroup.class})
	private String bankAccount;
	
	//支行
    @ApiModelProperty(value = "支行")
    @NotBlank(message="支行不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @Length(max = 200, message="支行行信息过长", groups = {AddGroup.class, UpdateGroup.class}) 
	private String bankBranch;

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public String getCardNo() {
		return cardNo;
	}

	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}
}
